/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.business.customer.facade.info;

import com.alibaba.fastjson2.annotation.JSONField;
import info.peigen.hotpot.business.customer.facade.enums.CustomerRegisterMethod;
import info.peigen.hotpot.business.customer.facade.enums.CustomerSource;
import info.peigen.hotpot.business.customer.facade.enums.CustomerStatus;
import info.peigen.hotpot.business.customer.facade.enums.auth.CustomerCertStatus;
import info.peigen.hotpot.business.customer.facade.enums.auth.CustomerCertSubject;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import lombok.experimental.SuperBuilder;

import java.util.Date;

/**
 * <b>(CustomerInfo)</b>
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2021/8/10
 */
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class CustomerPageInfo {
    /** 客户Id,有别于表id */
    String                 customerId;
    /** 昵称 */
    String                 nickname;
    /** 手机号 */
    String                 mobile;
    /** 邮件 */
    String                 email;
    /** 客户状态 */
    CustomerStatus         status;
    /** 企业名称 */
    String                 enterpriseName;
    /** 认证主体 */
    CustomerCertSubject    customerCertSubject;
    /** 认证状态 */
    CustomerCertStatus     customerCertStatus;
    /** 注册方式 */
    CustomerRegisterMethod customerRegisterMethod;
    /** 注册时间 */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date createTime;
    /** 来源 */
    CustomerSource source;
    /** 销售 */
    String         salesId;
    String         salesman;
}
